﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Gustozzi.DAL;
using System.Text;
namespace WebGustozzi.ModuloVentas.ReporteVentas
{
    public partial class wfBuscarDocumentoTributario : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

            if (!IsPostBack)
            {
                Inicializar();
                hdf_InicioGrilla.Value = "S";
            }
            else 
            {
                hdf_InicioGrilla.Value = "N";
            }
        }


        protected void imbCerrar_Click(object sender, ImageClickEventArgs e)
        {
            Response.Redirect("../wfPrincipal.aspx");
        }

        public void Inicializar()
        {
            VentasDataEntities contexto = new VentasDataEntities();
            var tiposDoc = from p in contexto.TiposDocumentoTributario
                           select new
                           {
                               Codigo = p.codigoTipoDocTrib,
                               Nombre = p.descripcion
                           };
            ddlTipDoc.DataSource = tiposDoc;
            ddlTipDoc.DataTextField = "Nombre";
            ddlTipDoc.DataValueField = "Codigo";
            ddlTipDoc.DataBind();
        }

        protected void txtCodCliente_TextChanged(object sender, EventArgs e)
        {
            try
            {
                txtNombreCliente.Text = string.Empty;
                VentasDataEntities contexto = new VentasDataEntities();
                if (!txtCodCliente.Text.Trim().Equals(string.Empty))
                {

                    int idCliente = Convert.ToInt32(txtCodCliente.Text.Trim());
                    var listadoClientes = from p in contexto.Clientes
                                          where p.codigoCliente == idCliente
                                          select p;

                    if (listadoClientes.Count() > 0)
                    {
                        txtNombreCliente.Text = listadoClientes.First().apellidoPaternoCliente + " " +
                            listadoClientes.First().apellidoMaternoCliente + ", " +
                            listadoClientes.First().nombreCliente + " ";
                    }
                }
            }
            catch (Exception)
            {

                throw;
            }
        }

        protected void imbFiltrar_Click(object sender, ImageClickEventArgs e)
        {
            try
            {
                BuscarDocumentoTributario();
            }
            catch (Exception)
            {

                throw;
            }
        }
        public void BuscarDocumentoTributario()
        {
            int idTipo = 0;
            int idCliente = 0;
            DateTime? fechaDesde = null;
            DateTime? fechaHasta = null;
            string numeroDoc = null;

            if (ddlTipDoc.SelectedIndex > 0)
            {
                idTipo = Convert.ToInt32(ddlTipDoc.SelectedValue);
            }
            if (!txtCodCliente.Text.Trim().Equals(string.Empty))
            {
                idCliente = Convert.ToInt32(txtCodCliente.Text.Trim());
            }

            if (!txtFecIni.Text.Equals(string.Empty))
            {
                fechaDesde = Convert.ToDateTime(txtFecIni.Text);
            }

            if (!txtFecfin.Text.Equals(string.Empty))
            {
                fechaHasta = Convert.ToDateTime(txtFecfin.Text);
            }

            if (txtNumero.Text.Equals(string.Empty))
            {
                numeroDoc = txtNumero.Text;
            }
            VentasDataEntities contexto = new VentasDataEntities();
            grvListaDocTri.DataSource = contexto.BuscarDocTributario(idTipo, numeroDoc, fechaDesde, fechaHasta, idCliente);
            grvListaDocTri.DataBind();
        }

        protected void grvListaDocTri_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (hdf_InicioGrilla.Value == "N")
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    e.Row.Attributes["OnClick"] = Page.ClientScript.GetPostBackClientHyperlink(this.grvListaDocTri, "Select$" + e.Row.RowIndex.ToString());

                    BuscarDocTributario_Result oItem = (BuscarDocTributario_Result)e.Row.DataItem;

                    StringBuilder strConstructor = new StringBuilder();
                    string sNavigateURL = String.Format("window.opener.document.getElementById('CPHPrincipal_hdfIdDoc').value=\"{0}\"; " ,
                              oItem.codigoDocTrib);

                    strConstructor.Append(sNavigateURL);
                    strConstructor.Append("window.close();");


                    ((LinkButton)(e.Row.Cells[6].Controls[0])).Attributes.Add("onclick", strConstructor.ToString());
                }
            }
        }

    }
}